<?php
namespace app\api\controller\v1;

use app\admin\model\City as CityModel;
use app\common\controller\Api;

class City extends Api
{

    protected $noNeedLogin=['lists','read'];
    protected $noNeedRight = ['lists','read'];


    // 获取城市列表的方法
    public function lists()
    {
        // 获取请求参数
        $q = input('get.q', '');  // 默认空字符串，如果没有提供 'q' 参数
        $page = input('get.page', 1);  // 默认第一页，如果没有提供 'page' 参数
        $pagesize=input('get.pagesize', 10);

        // 实例化 Api 模块的城市模型
        $cityModel = new CityModel();

        // 构建查询条件
        $where = [];
        if ($q) {
            $where['cityname'] = ['like', '%' . $q . '%'];  // 假设城市名称字段是 city_name
        }

        // 使用模型进行数据查询，加入条件并分页
        $citys = $cityModel->where($where)
            ->page($page, $pagesize)  // 每页显示10条记录
            ->select();

        if ($citys) {
            // 如果查询到城市信息，返回成功响应并携带城市数据
            return $this->success('获取城市列表成功', $citys);
        } else {
            // 如果未查询到，返回相应的错误提示
            return $this->error('暂无城市信息');
        }
    }


    // 获取单个城市信息的方法，接收用户ID作为参数
    public function read($id)
    {
        // 实例化用户模型
        $cityModel = new CityModel();
        // 根据传入的ID查询单个城市信息，可添加更多验证逻辑确保ID合法性等
        $city = $cityModel->where('id', $id)->find();
        if ($city) {
            return $this->success('获取城市信息成功', $city);
        } else {
            return $this->error('未找到对应ID的城市');
        }
    }
}